package com.project.mapper;

import com.project.bean.SchoolBean;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author liuyulai
 * Created with IntelliJ IDEA.
 * Date: 21.7.11
 * Time: 12:50
 * Description: No Description
 */
public interface ISchoolMapper {
    /**
     * 根据城市的id查询当前学校的集合
     *
     * @param cityId 城市id
     * @return 学校集合
     */
    List<SchoolBean> showSchoolByCity(@Param("cityId") int cityId);

    //--------------------------------------------------------------------

    /**
     * 根据传入的相关信息进行对学校的动态查询
     * 此处需要进行连表查询
     * 连接城市表以获取该城市下相关学校信息
     * 集合需包含信息：
     * 学校名称
     * 校长名称
     * 录入时间
     * 当前与我方状态
     *
     * @param schoolName 学校名称
     * @param cityId     所属城市id
     * @param statue     学校与我方状态
     * @return 学校集合
     */
    List<SchoolBean> showSchoolByItem(@Param("schoolName") String schoolName, @Param("cityId") int cityId, @Param("statue") String statue);

    /**
     * 添加新学校
     *
     * @param schoolBean 学校
     */
    void addNewSchool(SchoolBean schoolBean);

    /**
     * 根据点击得到的学校id进行学校详情信息的查询
     * 此处需要连表查询
     * 连接城市表以获取该学校所在城市地区
     *
     * @param schoolId 学校id
     * @return 学校详情信息
     */
    SchoolBean showSchoolInfoById(@Param("schoolId") int schoolId);

    /**
     * 根据学校id更新学校状态
     * 具体状态由业务层传入：
     * 接洽中/待审核/推广开展/审核未通过
     *
     * @param schoolId 学校id
     * @param statue   状态
     */
    void updateSchoolStatue(@Param("schoolId") int schoolId, @Param("statue") String statue);

    /**
     * 根据学校id更新学校的审批意见
     *
     * @param schoolId 学校id
     * @param comment  审批意见
     */
    void updateSchoolComment(@Param("schoolId") int schoolId, @Param("comment") String comment);


}
